package org.hose.junit;

import cn.hutool.system.SystemUtil;
import org.hose.core.TestCase;
import org.hose.util.AppConstants;
import org.hose.util.ExcelUtils;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.ArgumentsProvider;

import java.util.*;
import java.util.stream.Stream;

/**
 * 参数化提供者
 * 从Excel中读取测试数据
 *
 * @return
 */
public class TestDataProvider implements ArgumentsProvider {
    @Override
    public Stream<? extends Arguments> provideArguments(ExtensionContext extensionContext) throws Exception {
        // 命令行传参
        List<TestCase> testCases = ExcelUtils.readTestCase(SystemUtil.get(AppConstants.FILE_NAME), null);
        return testCases.stream().map(Arguments::of);
    }
}
